﻿#include<stdio.h>
int x;
//函数：理解为功能的容器
//函数定义的基本格式：
/*返回值类型  函数名（形参列表）
{

	函数体
}

void表示空类型  不需要返回

返回值类型：常用基本数据类型//函数执行完后函数会得到什么类型的值
//如果需要一个值出去，那么返回值类型这里，通过return把值返回出去，return写在函数的最末尾
如果不需要返回一个值出去，那么就在返回值类型用void
函数名：就是一个标识符，符合规则和规范

如果是int说明需要返回int类型的值

程序的运行流程：从上往下依次运行，程序的入口在main函数
形参列表：形式参考的变量，在调用函数时，需要用到什么数据，就可以用形参来表示
实参列表；有实际的值参考的变量
函数的调用：把自定义函数，放到主函数里面，直接写函数名
函数调用的时候：会把实参传给形参,对应位置进行传参
函数的调用：把自定义函数，放在主函数里面来。直接写函数名就可以了

局部变量变量：作用域在一定的区域内才能被使用的变量,执行完后，出了自己的定义域就会被释放掉,作用域在花括号内
全局变量：从定义这个变量开始往下，所有的地方都可以使用，在程序结束的时候被释放
注意点：全局变量和局部变量允许同名，使用同名变量的时候，使用最进的一个（就近原则）
静态变量：在程序执行后定义，生命周期是程序结束后才死亡，只会被定义一次，不会被重复定义

打了花括号，表示函数的定义
没有花括号表示函数的声明

函数的声明：先说明函数  类型说明符 函数名(实参)

一般出现一个无法解析的外部命令
函数没有定义，只声明了
*/
int One()
{


	return 0;
}

void Two()
{
	for (int i = 1; i < 10; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d\t", j, i, j * i);
		}
		printf("\n");
	}

}
int Three(int a,int b)//只是一个行参
{


	return a+b;
}

int Four(){

	for (int i = 1; i < 10; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d\t", j, i, j * i);
		}
		printf("\n");
	}
return 0;//出现在函数中，执行这一句话会从这一句结束函数
}

void Five() {

	return;//不返回任何结果，
}

//返回出去一个值
int Six(int x, int y)
{
	int num = x + y;
	return num;
}

//输出一个x行，y行的一个矩形
int Seven(int x,int y) {
	for (int i = 0; i < x; i++)
	{
		for (int j = 0; j < y; j++) 
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

void add()
{
	int a;
}

int x1;//如果没有给全局变量进行赋值，系统会默认为0



void Fun();//定义函数

int main()//主函数  程序的入口
{
	//静态变量:static(只会被定义一次)
	//for (int i = 0; i < 10; i++)
	//{
	//	static int a = 10;//第二次循环时，会申请内存失败

	//	a++;
	//	printf("%d\n",a);
	//}



	/*int x1 = 10;
	printf("%d\n",x1);

	int a;

	{
		int b;

	}*/
	/*Four();
	Six(1,2);
	printf("%d\n",Six(1,2));*/
	//int a = 10;
	//Seven(100,100);
	
	//Two();//执行到这个函数会，找到这个函数，先把这个函数执行完后在运行
	//Three(129,789);//调用形参时，要在后面传实参
	//printf("%d\n", Three(129, 789));
	//printf("%d\n", Three(129, 9));

	void Fun();//需要在主函数内声明声明函数
	Fun();
	return 0;//函数运行结束
}
void Fun()//函数的定义
{

}